import request from "@/utils/request";
import axios from "axios";

/**
 * File ——> 实体大驼峰
 * file ——> 实体小驼峰
 * 模型 ——> 实体中文名
 * bg-print ——> 服务名
 */

/**
 * 查询File分页列表
 */
export function getFilePageList(params) {
    return request.get(
        "/file/list",
        {params}
    );
}

/**
 * 根据id查询file
 */
export function getFileById(fileId) {
    return request.get(
        `/file/info/${fileId}`
    );
}


/**
 * 新增file
 */
export function createFile(data) {
    return request.post(
        "/file/save",
        data
    );
}


/**
 * 修改file
 */
export function updateFile(data) {
    return request.put(
        "/file/update",
        data
    );
}


/**
 * 批量删除file
 * delete传body参数需要使用config将data传递进去
 */
export function deleteFileBatchByIds(data) {
    return request.delete(
        "/file/delete",
        {data}
    );
}

/**
 * 获取预签名上传的URL
 * @param fileName
 */
export function getUploadPresigned(fileName) {
    return request.get(
        `/file/token?fileName=${fileName}`
    );
}

export function uploadByPresignedUrl(url, file) {
    return axios.put(url, file,
        {
            headers: {
                "Content-Type": 'multipart/form-data', //向minio传文件,必须设置内容类型,否则minio无法预览
            }
        })
}
